package com.rdgk.newtech.dao;

import com.alibaba.fastjson.JSONObject;

import java.util.List;

/**
 * @author: dengchenglong
 * @description: 订单信息Dao层
 */
public interface OrderDao {
	/**
	 * 新增Oligo订单信息
	 */
	int addOligo(JSONObject jsonObject);
	/**
	 * 修改Oligo订单信息
	 */
	int updateOligo(JSONObject jsonObject);
	/**
	 * 新增试剂盒&引物探针套装订单信息
	 */
	int addKitProbe(JSONObject jsonObject);
	/**
	 * 修改试剂盒&引物探针套装订单信息
	 */
	int updateKitProbe(JSONObject jsonObject);
	/**
	 * 新增载体订单信息
	 */
	int addCarrier(JSONObject jsonObject);
	/**
	 * 修改载体订单信息
	 */
	int updateCarrier(JSONObject jsonObject);
	/**
	 * 新增DNA探针合成订购单信息
	 */
	int addDNAProbe(JSONObject jsonObject);
	/**
	 * 修改DNA探针合成订购单信息
	 */
	int updateDNAProbe(JSONObject jsonObject);
	/**
	 * 新增FISH试剂盒&其他订购单信息
	 */
	int addFISH(JSONObject jsonObject);
	/**
	 * 修改FISH试剂盒&其他订购单信息
	 */
	int updateFISH(JSONObject jsonObject);
	/**
	 * 新增病毒订购单信息
	 */
	int addVirus(JSONObject jsonObject);
	/**
	 * 修改病毒订购单信息
	 */
	int updateVirus(JSONObject jsonObject);
	/**
	 * 新增全基因合成订购单信息
	 */
	int addWholeGene(JSONObject jsonObject);
	/**
	 * 修改全基因合成订购单信息
	 */
	int updateWholeGene(JSONObject jsonObject);
	/**
	 * 新增客户信息
	 */
	int addClient(JSONObject jsonObject);

	/**
	 * 更新客户信息
	 */
	int updateClient(JSONObject jsonObject);

	/**
	 * 获取客户姓名和手机号
	 */
	List<JSONObject> getClient_name_phone(JSONObject jsonObject);

	/**
	 * 查询客户ID
	 */
	int getClientID(JSONObject jsonObject);

	/**
	 * 查询最大的父订单ID
	 */
	int maxMord_Id(JSONObject jsonObject);
	/**
	 * 查询所有父订单ID
	 */
	int countMordByID(JSONObject jsonObject);

	/**
	 * 统计订单信息总数
	 */
	int countOrder(JSONObject jsonObject);

	/**
	 * 订单信息列表
	 */
	List<JSONObject> listOrder(JSONObject jsonObject);

	/**
	 * 销售经理列表
	 */
	List<JSONObject> listSales(JSONObject jsonObject);

	/**
	 * 根据order_id搜索order_type
	 */
	JSONObject getOrderTypeByID(JSONObject jsonObject);

	/**
	 * 根据order_id搜索所有相关RNA Oligo内容
	 */
	List<JSONObject> getRNAOligoByID(JSONObject jsonObject);

	/**
	 * 根据order_id搜索所有相关载体内容
	 */
	List<JSONObject> getCarrierByID(JSONObject jsonObject);

	/**
	 * 根据order_id搜索所有相关DNA探针内容
	 */
	List<JSONObject> getDNAProbeByID(JSONObject jsonObject);

	/**
	 * 根据order_id搜索所有相关FISH试剂盒及其他内容
	 */
	List<JSONObject> getFISHKitByID(JSONObject jsonObject);

	/**
	 * 根据order_id搜索所有相关试剂盒引物探针套装内容
	 */
	List<JSONObject> getKitProbeByID(JSONObject jsonObject);

	/**
	 * 根据order_id搜索所有相关病毒内容
	 */
	List<JSONObject> getVirusByID(JSONObject jsonObject);

	/**
	 * 根据order_id搜索所有相关全基因内容
	 */
	List<JSONObject> getWholeGeneByID(JSONObject jsonObject);

	/**
	 * 根据sales_manager_id获取username
	 */
	String getUsernameByID(int id);

	/**
	 * 删除订单信息
	 */
	int deleteOrder(JSONObject jsonObject);

	int deleteCompany(JSONObject jsonObject);

	void updateOrderByCheck(JSONObject requestJson);

	void addexwarehouse(JSONObject requestJson);

	void updatewarehouseStatus(JSONObject requestJson);

	void adddesign(JSONObject requestJson);

	void addproduct(JSONObject requestJson);
}